startAsync - когда приложение стартует
stopAsync - когда отключается
_timer = new Timer(async state => {
// some cicle work
}, state, TimeSpan.Zero, TimeSpan.FromSeconds(5));
Эта штука будет запускать начав спустя третий параметр, циклично через время указанное в 4ом параметре.
async void можно использовать только в качестве делегата
Если мы хотим достать сервис из DI, но по времени жизни он не доступен то можно через конструктор пробрасывать IServiceProvider
Как она работает:
В эндпоинтах ОЧЕНЬ нужно писать cancellationToken
В БД откатывать можно через транзакции